﻿Option Explicit On
Option Strict On

Namespace Framework.Hardware

    Public Enum MotorSensorState
        Light
        Dark
    End Enum

    ''' <summary>
    ''' 
    ''' </summary>
    ''' <remarks></remarks>
    Public Class MotorPositionEventArgs
        Inherits EventArgs

#Region " Private Members "

        Private m_Sensor As MotorSensorState
        Private m_Position As Integer

#End Region

#Region " Constructor "

        ''' <summary>
        ''' Constructor
        ''' </summary>
        ''' <param name="Position">The Position of the Motor</param>
        ''' <param name="Sensor">The State of the Motor Sensor</param>
        ''' <remarks></remarks>
        Public Sub New(ByVal Position As Integer, ByVal Sensor As MotorSensorState)
            m_Position = Position
            m_Sensor = Sensor
        End Sub

#End Region

#Region " Public Properties "

        ''' <summary>
        ''' The State of the Motor Sensor
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property Sensor As MotorSensorState
            Get
                Return m_Sensor
            End Get
            Set(ByVal value As MotorSensorState)
                m_Sensor = value
            End Set
        End Property

        ''' <summary>
        ''' The Position of the Motor
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property Position As Integer
            Get
                Return m_Position
            End Get
            Set(ByVal value As Integer)
                m_Position = value
            End Set
        End Property

#End Region

    End Class

End Namespace